home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 1 Issue 2 / PDCD-1 - Issue 02.iso / _utilities / utilities / 001 / fue / ue_mac_rc < prev    next >
Text File  |  1992-04-07  |  11KB  |  462 lines

  1. ; Andy Sturges : These are my standard macros
  2.  
  3. ;{{{  store-procedure help
  4. store-procedure help
  5.         !if %rcfkeys
  6.                 !goto rcfoff
  7.         !endif
  8.  
  9. ;       toggle function key window on
  10.         save-window
  11.         1 next-window
  12.         !if &sequal $cbufname "emacs.hlp"
  13.                 delete-window
  14.         !endif
  15.         !if ¬ &sequal $cbufname "Function Keys"
  16.                 1 split-current-window
  17.                 1 select-buffer "Function Keys"
  18.                 end-of-file
  19.                 !force $curline resize-window
  20.                 1 goto-line
  21.         !endif
  22.         set %rcfkeys TRUE
  23.         !force restore-window
  24.         !if &sequal $cbufname "Function Keys"
  25.                 next-window
  26.         !endif
  27.         write-message "[Function key window ON]"
  28.         !return
  29.  
  30.         ;Toggle the function key window off
  31. *rcfoff
  32.         save-window
  33.         1 next-window
  34.         !if &sequal "Function Keys" $cbufname
  35.                 delete-window
  36.         !endif
  37.         !force restore-window
  38.         write-message "[Function key window OFF]"
  39.         set %rcfkeys FALSE
  40. !endm
  41. ;}}}
  42. ;{{{  store-procedure do-pick-line
  43. store-procedure do-pick-line
  44.         set $curcol $lmargin
  45.         set-mark
  46.         next-line
  47.         kill-region
  48.         set $curcol $lmargin
  49.         set %tmp $cwline
  50.         set %main $cbufname
  51.         1 select-buffer %pick
  52.         yank
  53.         unmark-buffer   
  54.         select-buffer %main
  55.         goto-mark
  56.         !if &and &seq $progname "uEmacs"  &seq $ltype LSOEFOLD 
  57.         close-fold
  58.           set $curcol $lmargin
  59.         !endif
  60. !endm
  61. ;}}}
  62. ;{{{  store-procedure do-put-buffer
  63. store-procedure do-put-buffer
  64.         set %main $cbufname
  65.         1 select-buffer %pick
  66.         beginning-of-file
  67.         set-mark
  68.         end-of-file
  69.         !force backward-character
  70.         copy-region
  71.         unmark-buffer
  72.         select-buffer %main
  73.         !force previous-line
  74.         end-of-line
  75.         open-line
  76.         next-line
  77.         yank
  78.         delete-next-character
  79.         previous-line
  80.         set $curcol $lmargin
  81.         delete-buffer %pick
  82. !endm
  83. ;}}}
  84. ;{{{  store-procedure clear-pick
  85. store-procedure clear-pick
  86.         delete-buffer "?pick?"
  87.         write-message "[pick buffer cleared]"
  88. !endm
  89. ;}}}
  90. ;{{{  store-procedure pick-line
  91. store-procedure pick-line
  92.   set %pick "?pick?"
  93.   execute-procedure do-pick-line
  94.   write-message "[line moved to pick buffer]"
  95. !endm
  96. ;}}}
  97. ;{{{  store-procedure move-line
  98. store-procedure move-line
  99.         set %pick "?move?"
  100.         !if %moving
  101.                 execute-procedure do-put-buffer
  102.                 delete-buffer "?move?"
  103.                 set %moving FALSE
  104.                 write-message "[line put]"
  105.         !else
  106.                 delete-buffer "?move?"
  107.                 execute-procedure do-pick-line 
  108.                 set %moving TRUE
  109.                 write-message "[line moved to pick buffer]"
  110.         !endif
  111. !endm
  112. ;}}}
  113. ;{{{  store-procedure copy-pick
  114. store-procedure copy-pick
  115.         set $curcol $lmargin
  116.         set-mark
  117.         next-line
  118.         copy-region
  119.         set $curcol $lmargin
  120.         set %tmp $cwline
  121.         set %main $cbufname
  122.         1 select-buffer "?pick?"
  123.         yank
  124.         unmark-buffer   
  125.         select-buffer %main
  126.         goto-mark
  127.         !if &and &seq $progname "uEmacs"  &seq $ltype LSOEFOLD 
  128.         close-fold
  129.         !endif
  130.         next-line
  131.         write-message "[line copied to pick buffer]"
  132. !endm
  133. ;}}}
  134. ;{{{  store-procedure put-buffer
  135. store-procedure put-buffer
  136.   set %pick "?pick?"
  137.   execute-procedure do-put-buffer
  138.   write-message "[pick buffer put]"
  139. !endm
  140.  
  141. ;}}}
  142. ;{{{  store-procedure copy-line
  143. store-procedure copy-line
  144.         set $curcol $lmargin
  145.         set-mark
  146.         next-line
  147.         copy-region
  148.         newline
  149.         previous-line
  150.         yank
  151.         delete-next-character
  152.         previous-line
  153.         write-message "[line copied]"
  154. !endm
  155.  
  156. ;}}}
  157. ;{{{  store-procedure del-line
  158. store-procedure delete-line
  159.         set $curcol $lmargin
  160.         set-mark
  161.         next-line
  162.         kill-region
  163.         write-message "[line deleted]"
  164. !endm
  165.  
  166. ;}}}
  167. ;{{{  store-procedure pick-region
  168. store-procedure pick-region
  169.         copy-region
  170.         set $curcol $lmargin
  171.         set %tmp $cwline
  172.         set %main $cbufname
  173.         1 select-buffer "?pick?"
  174.         yank
  175.         unmark-buffer   
  176.         select-buffer %main
  177.         write-message "[region copied to pick buffer]"
  178. !endm
  179. ;}}}
  180.  
  181.  
  182. !if &seq $progname "uEmacs" 
  183.   set %t-depth 0
  184.   ;{{{  store-procedure t-findname
  185.   ;{{{  store-procedure t-findname
  186.   store-procedure t-findname
  187.     ;{{{  look for include etc
  188.     set %psn &sindex $line "#INCLUDE"
  189.     set %mst FALSE
  190.     set %occ FALSE
  191.     !if %psn
  192.       set %occ TRUE
  193.     !else
  194.       set %psn &sindex $line "#EXPAND"
  195.       !if %psn
  196.         set %mst TRUE
  197.       !else
  198.         set %psn &sindex $line "#include"
  199.       !endif
  200.     !endif
  201.     ;}}}
  202.     !if %psn
  203.       set $curcol %psn
  204.       add-mode magic
  205.       search-forward "[~"<]"
  206.       search-forward "[^~">~n]*"
  207.       set %fname &cat %home $match
  208.       !if %mst
  209.         set %fname &cat %fname ".mst"
  210.       !endif
  211.     !else
  212.       set %fname ""
  213.     !endif
  214.   !endm      
  215.   ;}}}
  216.   ;}}}
  217.   ;{{{  store-procedure t-sethome
  218.   ;{{{  store-procedure t-sethome
  219.   store-procedure t-sethome
  220.     set %base 0
  221.     set %tmp &sin $cfname "/"
  222.     !while ¬ &equal %tmp 0
  223.       set %base &add %base %tmp
  224.       set %tmp &sin &right $cfname &sub &length $cfname %base "/"
  225.     !endwhile
  226.     set %home &left $cfname %base 
  227.   !endm
  228.   ;}}}
  229.   ;}}}
  230.   ;{{{  store-procedure copy-to-fold
  231.   store-procedure copy-to-fold
  232.       set $curcol $lmargin
  233.       !force enter-fold
  234.       !if $status
  235.           kill-to-end-of-line
  236.           yank
  237.           exit-fold
  238.           5 forward-character
  239.           yank
  240.           !if ¬ &equal $curchar 13
  241.               kill-to-end-of-line
  242.           !endif
  243.           set $curcol $lmargin
  244.       !endif
  245.   !endm
  246.   ;}}}
  247.   ;{{{  store-procedure t-enter-filed
  248.   store-procedure t-enter-filed
  249.     ;{{{  save state
  250.     set %tmps    $search
  251.     set %tmode   $cmode
  252.     set %tmpbuf  $cbufname
  253.     2 set-mark
  254.     set %saveb   $cbufname
  255.     ;}}}
  256.     ;set %occ  &or ¬ &equal &sin $cfname ".occ" 0 ¬ &equal &sin $cfname ".inc" 0
  257.     ;set %mst  ¬ &equal &sin $cfname ".mst" 0
  258.     !if &equal t-depth 0
  259.       execute-procedure t-sethome
  260.     !endif
  261.     set %tmpf $cfname
  262.     execute-procedure t-findname
  263.     !if &seq %fname ""
  264.       ;{{{  not a filed fold
  265.       set $search %tmps
  266.       set $cmode %tmode
  267.       2 goto-mark
  268.       write-message "[Not a filed fold]"
  269.       ;}}}
  270.     !else
  271.       !force find-file %fname
  272.       !if $status
  273.         ;{{{  enter file
  274.         1 select-buffer ?filed
  275.         beginning-of-file
  276.         insert-string &cat &cat "+" %fname &cat " " %tmpf
  277.         newline
  278.         unmark-buffer   
  279.         !force find-file %fname
  280.         !if %t-lstflg
  281.           execute-procedure t-listbuf
  282.         !endif
  283.         set $search %tmps
  284.         set $cmode %tmode
  285.         set %t-depth &add %t-depth 1
  286.         write-message "[File entered]"
  287.         ;}}}
  288.       !else
  289.         ;{{{  error
  290.         select-buffer %tmpbuf
  291.         !force delete-buffer %fname
  292.         set $search %tmps
  293.         set $cmode %tmode
  294.         write-message "[Failed to enter file]"  
  295.         ;}}}
  296.       !endif
  297.     !endif
  298.   !endm
  299.   ;}}}
  300.   ;{{{  store-procedure t-unfiled
  301.   store-procedure t-unfiled
  302.     set %tmps     $search
  303.     set %tmode   $cmode
  304.     set %tmpbuf  $cbufname
  305.     2 set-mark
  306.     set %saveb $cbufname
  307.     !if &equal t-depth 0
  308.       execute-procedure t-sethome
  309.     !endif
  310.     execute-procedure t-findname
  311.     !if &seq %fname ""
  312.       2 goto-mark
  313.       set $search %tmps
  314.       write-message "[Not a filed fold]"
  315.     !else
  316.       ;{{{  unfile fold
  317.       set $curcol %psn
  318.       set-mark
  319.       next-line
  320.       fold-region
  321.       enter-fold
  322.       !force insert-file %fname
  323.       !if $status
  324.               kill-to-end-of-line
  325.               delete-next-character
  326.               set $search %tmps
  327.               exit-fold
  328.               end-of-line
  329.               yank
  330.               shell-command &cat "rm " %fname
  331.               write-message "[File unfolded]"
  332.       !else
  333.              exit-fold
  334.              remove-fold
  335.              set $search %tmps
  336.              set $cmode %tmode
  337.              write-message "[Failed to unfile fold]"  
  338.       !endif
  339.       ;}}}
  340.     !endif
  341.   !endm
  342.   
  343.   ;}}}
  344.   ;{{{  store-procedure t-filed
  345.   store-procedure t-filed
  346.     !if &seq $ltype LSOFOLD
  347.       set %occ  &or ¬ &equal &sin $cfname ".occ" 0 ¬ &equal &sin $cfname ".inc" 0
  348.       set %mst  ¬ &equal &sin $cfname ".mst" 0
  349.       !if &equal t-depth 0
  350.         execute-procedure t-sethome
  351.       !endif
  352.       set %tmps    $search
  353.       set %tmode   $cmode
  354.       set %tmpbuf  $cbufname
  355.       enter-fold
  356.       set-mark
  357.       end-of-file
  358.       copy-region
  359.       set %fname &cat @"file name ?" %home
  360.       !if ¬ &exist %filename
  361.         ;{{{  ok
  362.         !force find-file %fname
  363.         yank
  364.         select-buffer %tmpbuf
  365.         kill-region
  366.         insert-string " "
  367.         !if %occ
  368.           insert-string "#INCLUDE ~""
  369.         !else
  370.           !if %mst
  371.             insert-string "#EXPAND ~""
  372.             set %fname &left %fname &sub &sin $cfname ".mst" 1
  373.           !else
  374.             insert-string "#include ~""
  375.           !endif
  376.         !endif
  377.         insert-string &cat %fname "~""
  378.         exit-fold
  379.         set $search %tmps
  380.         write-message "[Fold filed]"
  381.         ;}}}
  382.       !else
  383.         select-buffer %tmpbuf
  384.         set $search %tmps
  385.         exit-fold
  386.         write-message "[File already exists]"
  387.       !endif
  388.     !else
  389.       write-message "[Not a fold]"
  390.   !endm  
  391.   ;}}}
  392.   ;{{{  store-procedure t-exit-filed
  393.   store-procedure t-exit-filed
  394.     set %tmps    $search
  395.     set %tmpbuf  $cbufname
  396.     set %fname   $cfname
  397.     1 select-buffer "?filed"
  398.     beginning-of-file
  399.     !if $lwidth
  400.       !force search-forward &cat "+" %fname
  401.       !if $status
  402.         forward-character
  403.         kill-to-end-of-line
  404.         delete-next-character
  405.         find-file $kill
  406.         set %t-depth &sub %t-depth 1
  407.         set $search %tmps
  408.         write-message "[File exited]"
  409.       !else
  410.         select-buffer %tmpbuf
  411.         set $search %tmps
  412.         write-message "[No more files to exit]"
  413.       !endif
  414.     !else
  415.       select-buffer %tmpbuf
  416.       set $search %tmps
  417.       set %t-depth 0
  418.       write-message "[No more files to exit]"
  419.     !endif
  420.   !endm
  421.   
  422.   ;}}}
  423.   ;{{{  store-procedure t-list-filed
  424.   store-procedure t-list-filed
  425.     save-window
  426.     set %tmps    $search
  427.     set %tmpbuf  $cbufname
  428.     set %fname   $cfname
  429.     split-current-window
  430.     1 select-buffer "?filed"
  431.     end-of-file
  432.     previous-line
  433.     $curline resize-window        
  434.     restore-window
  435.   !endm
  436.   ;}}}
  437.   ;{{{  store-procedure create-fold
  438.   set %mkfold FALSE
  439.   store-procedure create-fold
  440.     !if %mkfold
  441.             !force fold-region
  442.             !if $status
  443.                     write-message "[fold made]"
  444.             !else
  445.                     write-message "[Error making fold]"
  446.             !endif
  447.             set %mkfold FALSE
  448.     !else
  449.             !force set-mark
  450.             !if $status
  451.                     set %mkfold TRUE
  452.                     write-message "[making fold]"
  453.             !else
  454.                     write-message "[Error making fold]"
  455.             !endif
  456.     !endif
  457.   !endm
  458.   ;}}}
  459. !endif
  460.  
  461.  
  462.